package com.monitoring.domain.repository;

import com.monitoring.domain.entity.EnvironmentalData;
import com.monitoring.domain.entity.Sensor;
import java.time.LocalDateTime;
import java.util.List;

public interface EnvironmentalDataRepository {
    EnvironmentalData save(EnvironmentalData data);
    List<EnvironmentalData> findBySensor(Sensor sensor);
    List<EnvironmentalData> findBySensorId(Long sensorId);
    List<EnvironmentalData> findByLocation(String location);
    List<EnvironmentalData> findByDataType(String dataType);
    List<EnvironmentalData> findByTimestampBetween(LocalDateTime start, LocalDateTime end);
    void deleteById(Long id);
    List<EnvironmentalData> findLatestBySensorAndType(Long sensorId, String dataType, int limit);
}